# 指定 CMake 的最低版本要求为 3.18
# 这确保了项目使用的 CMake 功能在该版本及以上都可用
cmake_minimum_required(VERSION 3.18)

# 定义项目名称和使用的编程语言
# - TestProp: 项目名称
# - LANGUAGES CXX: 指定项目使用 C++ 语言
project(TestProp
    LANGUAGES CXX
)

# 添加子目录 src，CMake 会处理该目录下的 CMakeLists.txt 文件
# 通常用于包含库代码或其他模块化的源代码
add_subdirectory(src)

# 创建名为 "main" 的可执行文件
# main.cpp 是主要的源代码文件
add_executable(main main.cpp)

# 将 main 可执行文件与 add 库进行链接
# - PRIVATE: 链接依赖关系，add 库仅用于 main 的链接，不会传递给其他可能依赖 main 的目标
# - add: 要链接的库名称，这是在 src/CMakeLists.txt 中定义的库目标
target_link_libraries(main PRIVATE add)